import { debounce } from './utils'
// 导入页面返回顶部组件
import BackTop from 'components/content/backTop/BackTop'

export const itemListenerMixin = {
  data () {
    return {
      // 保存事件监听函数
      itemImgLoad: null,
      newRefresh: null
    }
  },
  mounted () {
    this.newRefresh = debounce(this.$refs.scroll.refresh, 200)
    this.itemImgLoad = () => {
      this.newRefresh()
    }
    this.$bus.$on('imageLoad', this.itemImgLoad)
  }
}
// 点击返回顶部功能组件
export const backTopMixin = {
  components: {
    BackTop
  },
  data () {
    return {
      // 控制 返回顶部组件的展示隐藏
      isShowBackTop: false
    }
  },
  methods: {
    clickTop () {
      // 上面在 scroll 组件注册了ref 这里可以直接通过refs获得该对象
      // scrollTo 前两个是坐标 第三个参数是时间(返回目标坐标需要的时间)
      // this.$refs.scroll.scroll.scrollTo(0, 0, 1000)
      // 或者直接面向 scroll组件开发 调用scroll 内部定义的 scrollTo 方法 直接传参

      this.$refs.scroll.scrollTo(0, 0, 1000)
    }
  }

}
